home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Interactive Old Testament
/
The Interactive Old Testament.iso
/
oldtest.ms_
/
oldtest.ms
Wrap
Text File
|
1993-02-05
|
7KB
|
249 lines
'**************************************************************************
'* MSSetup Toolkit Sample 1
'**************************************************************************
'$DEFINE DEBUG ''Define for script development/debugging
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
''Dialog ID's
CONST WELCOME = 100
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST OPTIONS = 800
CONST APPHELP = 900
CONST BADPATH = 6400
''Bitmap ID
CONST LOGO = 1
GLOBAL DEST$ ''Default destination directory.
GLOBAL OPTCUR$ ''Option selection from option dialog.
DECLARE SUB Install
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
INIT:
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
SetBitmap CUIDLL$, LOGO
SetTitle "Interactive Old Testament - Setup"
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "oldtest.INF"
END IF
ReadInfFile szInf$
OPTCUR$ = "1"
DEST$ = "C:\OLDTEST"
'$IFDEF DEBUG
i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
WinDrive$ = MID$(GetWindowsDir, 1, 1)
IF IsDriveValid(WinDrive$) = 0 THEN
i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
GOTO QUIT
END IF
'$ENDIF ''DEBUG
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
'OPTION:
' SetSymbolValue "RadioDefault", OPTCUR$
'OPTL1:
' sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
' OPTCUR$ = GetSymbolValue("ButtonChecked")
'
' IF sz$ = "CONTINUE" THEN
' UIPop(1)
' ELSEIF sz$ = "REACTIVATE" THEN
' GOTO OPTL1
' ELSE
' GOSUB ASKQUIT
' GOTO OPTION
' END IF
GETPATH:
SetSymbolValue "EditTextIn", DEST$
SetSymbolValue "EditFocus", "END"
GETPATHL1:
sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
DEST$ = GetSymbolValue("EditTextOut")
IF sz$ = "CONTINUE" THEN
IF IsDirWritable(DEST$) = 0 THEN
GOSUB BADPATH
GOTO GETPATHL1
END IF
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO GETPATHL1
ELSEIF sz$ = "BACK" THEN
UIPop 1
' GOTO OPTION
GOTO WELCOME
ELSE
GOSUB ASKQUIT
GOTO GETPATH
END IF
Install
QUIT:
ON ERROR GOTO ERRQUIT
IF ERR = 0 THEN
dlg% = EXITSUCCESS
ELSEIF ERR = STFQUIT THEN
dlg% = EXITQUIT
ELSE
dlg% = EXITFAILURE
END IF
QUITL1:
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO QUITL1
END IF
UIPop 1
END
ERRQUIT:
i% = DoMsgBox("Setup sources were corrupted, call (206) 392-7266!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
BADPATH:
sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO BADPATH
END IF
UIPop 1
RETURN
ASKQUIT:
sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
IF sz$ = "EXIT" THEN
UIPopAll
ERROR STFQUIT
ELSEIF sz$ = "REACTIVATE" THEN
GOTO ASKQUIT
ELSE
UIPop 1
END IF
RETURN
'**
'** Purpose:
'** Builds the copy list and performs all installation operations.
'** Arguments:
'** none.
'** Returns:
'** none.
'*************************************************************************
SUB Install STATIC
SrcDir$ = GetSymbolValue("STF_SRCDIR")
CreateDir DEST$, cmoNone
'
' Setup log file
'
OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
WriteToLogFile ""
WriteToLogFile " User chose as destination directory: '" + DEST$ + "'"
WriteToLogFile " User chose option: '" + OPTCUR$ + "'"
WriteToLogFile ""
WriteToLogFile "May have had to create the directory: " + DEST$
WriteToLogFile ""
'
' Copy Files
'
AddSectionFilesToCopyList "Files", SrcDir$, DEST$
CopyFilesInCopyList
'
' Make Changes to Win.ini
'
CreateIniKeyValue "WIN.INI", "READER", "Path", SrcDir$+";"+SrcDir$+"timeline;"+SrcDir$+"music;"+SrcDir$+"stories", cmoOverwrite
CreateIniKeyValue "WIN.INI", "READER", "config", "reader.cnf", cmoOverwrite
CreateIniKeyValue "WIN.INI", "READER", "interps", "reader.s", cmoOverwrite
CreateIniKeyValue "WIN.INI", "READERFILTERS", "Guide TXT Filter", "GUIDETXT.DLL, TXT", cmoOverwrite
CreateIniKeyValue "WIN.INI", "READERFILTERS", "Guide RTF Filter", "GUIDERTF.DLL, RTF", cmoOverwrite
CreateIniKeyValue "WIN.INI", "READERFILTERS", "Guide WMF Filter", "GUIDEWMF.DLL, WMF", cmoOverwrite
CreateIniKeyValue "WIN.INI", "READERFILTERS", "Guide TIF Filter", "GUIDETIF.DLL, TIF", cmoOverwrite
CreateIniKeyValue "WIN.INI", "READERFILTERS", "Guide PCX Filter", "GUIDEPCX.DLL, PCX", cmoOverwrite
CreateIniKeyValue "WIN.INI", "READERFILTERS", "Guide PCC Filter", "GUIDEPCX.DLL, PCC", cmoOverwrite
CreateIniKeyValue "WIN.INI", "READERFILTERS", "Guide MSP Filter", "GUIDEMSP.DLL, MSP", cmoOverwrite
CreateIniKeyValue "WIN.INI", "READERFILTERS", "Guide BMP Filter", "GUIDEBMP.DLL, BMP", cmoOverwrite
'
' Create Special oldtest.ini file for BOB
'
CreateIniKeyValue MakePath(DEST$,"oldtest.ini"), "Install Dir", DEST$, "", cmoOverwrite
'
' Create Program Manager Group and Add Program Icons to Group
'
CreateProgmanGroup "Azeroth", "", cmoNone
ShowProgmanGroup "Azeroth", 1, cmoNone
CreateProgmanItem "Azeroth", "Interactive Old Testament", MakePath(DEST$,"reader.exe"), MakePath(DEST$,"oldtest.ico"), cmoOverwrite
' CreateProgmanItem "Azeroth", "Read Me", "notepad.exe "+MakePath(DEST$,"readme.txt"), "", cmoOverwrite
CloseLogFile
END SUB
'**
'** Purpose:
'** Appends a file name to the end of a directory path,
'** inserting a backslash character as needed.
'** Arguments:
'** szDir$ - full directory path (with optional ending "\")
'** szFile$ - filename to append to directory
'** Returns:
'** Resulting fully qualified path name.
'*************************************************************************
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
IF szDir$ = "" THEN
MakePath = szFile$
ELSEIF szFile$ = "" THEN
MakePath = szDir$
ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
MakePath = szDir$ + szFile$
ELSE
MakePath = szDir$ + "\" + szFile$
END IF
END FUNCTION